package com.micro.modual.async.completion.executor;

import com.micro.modual.async.completion.enums.CompletionRuleFlag;

/**
 * <h1>异步生成规则处理器接口定义</h1>
 * @author LevelCoder
 * @version V1.0.0
 * @email LevelCoder@126.com
 * @date 2020/5/6
 */
public interface CompletionRuleExecutor<T> {

    /**
     * 规则类型标记
     * @return {@link CompletionRuleFlag}
     */
    CompletionRuleFlag ruleConfig();

    /**
     * <h2>异步规则计算</h2>
     * @param t  泛型
     */
    void computeRule(T t);

}
